import 'package:blog/src/generated/models/article.pb.dart';
import 'package:blog/src/generated/models/page.pb.dart';
import 'package:blog/src/generated/models/setting.pb.dart';
import 'package:blog/src/generated/models/category.pb.dart';
import 'package:blog/src/generated/response/home_data.pb.dart';

export 'config.dart';
export 'dio_api_impl.dart';

abstract class Api {
  Future<SiteSetting?> getSiteSetting();

  Future<List<ArticleItem>> getArticleItem(
      {int? page, int? pageSize, Map<String, dynamic> filter = const {}});

  Future<ArticleDetail?> getArticleDetail(int id);

  Future<PageDetail?> getSinglePage(String pageName);

  Future<List<CategoryItem>> getCategoryItem(String? position);

  Future<HomeData?> getHomePage();
}
